package com.liu.design.building.factory.abstractFactory;

/**
 * @author LIU
 * @version 1.0
 * @date 2022/12/20 14:29
 * @description: 抽象工厂模式
 * 抽象具体的产品和工厂
 *  优点：具体的应用层代码隔离，无需关心创造细节，将一系列的产品族统一到一起创建
 */
public class Test {
    public static void main(String[] args) {

//        CourseFactory factory = new JavaCourseFactory();
        CourseFactory factory = new PythonCourseFactory();
        ICourse course = factory.createCourse();
        course.record();
        IVideo video = factory.createVideo();
        video.record();
        INote note = factory.createNote();
        note.edit();

    }
}
